Transmission Control Protocol (TCP) and Internet Protocol (IP) are some of the most commonly used communication protocols in the Internet protocol suite. Often referred to as TCP/IP, protocols such as these define ways of communicating between entities over the Internet as well as various other networks.
A TCP connection represents an end point for communicating to another entity over the network. For example, when one server or application wants to communicate some information over the network to another, a handshake process is typically performed to establish a TCP connection, and subsequently, that TCP connection is used to send data between the two entities. The TCP connection takes care of the details of breaking up a large chunk of data and transmitting the individual IP packets on behalf of the sender, such that the sender only needs to issue a single request to the TCP in order to transmit the entire set of information.
Distributed load balancers are used in computer networking to distribute workload across multiple computers. This is often done in order to achieve optimal resource utilization, maximize throughput and avoid overload. In the context of a cluster network that serves client requests, a load balancer would typically receive a request from a client and relay it to a particular server in the cluster that will process that request and often issue a response. Load balancers frequently try to distribute the request load evenly across all of the servers in an effort to prevent any individual server in the cluster from being overloaded with requests. In certain instances, however, servers in the cluster may nonetheless become overloaded with request traffic, causing various latencies, errors, dropped requests and TCP connection problems or other issues.